<?php

namespace Gds\AchatBundle\Entity;

use Doctrine\ORM\Mapping as ORM;

/**
 * Gds\AchatBundle\Entity\LigneReglementFournisseur
 *
 * @ORM\Table()
 * @ORM\Entity(repositoryClass="Gds\AchatBundle\Entity\LigneReglementFournisseurRepository")
 */
class LigneReglementFournisseur {

    /**
     * @ORM\ManyToOne(targetEntity="Gds\AchatBundle\Entity\ReglementFournisseur", inversedBy="lignes")
     * @ORM\JoinColumn(nullable=false)
     */
    private $reglement;

    /**
     * @ORM\ManyToOne(targetEntity="Gds\AchatBundle\Entity\BonLivraisonFournisseur", inversedBy="lignes_reglement")

     */
    private $bon_livraison;

    /**
     * @ORM\ManyToOne(targetEntity="Gds\AchatBundle\Entity\FactureFournisseur", inversedBy="lignes_reglement")

     */
    private $facture;

    /**
     * @ORM\ManyToOne(targetEntity="Gds\AchatBundle\Entity\CompteBancaire", inversedBy="lignes_reglement_fournisseur")

     */
    private $compte_bancaire;

    /**
     * @var integer $id
     *
     * @ORM\Column(name="id", type="integer")
     * @ORM\Id
     * @ORM\GeneratedValue(strategy="AUTO")
     */
    private $id;

    /**
     * @var string $numero_piece
     *
     * @ORM\Column(name="numero_piece", type="string", length=255,nullable=true)
     */
    private $numero_piece;
     /**
     * @var string $type
     *
     * @ORM\Column(name="type", type="string", length=255)
     */
    private $type;

    /**
     * @var float $montant
     *
     * @ORM\Column(name="montant", type="decimal", scale=3)
     */
    private $montant;

    /**
     * @var \DateTime $date_echeance
     *
     * @ORM\Column(name="date_echeance", type="date",nullable=true)
     */
    private $date_echeance;

    /**
     * @var string $etat
     *
     * @ORM\Column(name="etat", type="string", length=255,nullable=true)
     */
    private $etat;

    /**
     * Get id
     *
     * @return integer 
     */
    public function getId() {
        return $this->id;
    }

    /**
     * Set montant
     *
     * @param float $montant
     * @return LigneReglementFournisseur
     */
    public function setMontant($montant) {
        $this->montant = $montant;

        return $this;
    }

    /**
     * Get montant
     *
     * @return float 
     */
    public function getMontant() {
        return $this->montant;
    }

    /**
     * Set date_echeance
     *
     * @param \DateTime $dateEcheance
     * @return LigneReglementFournisseur
     */
    public function setDateEcheance($dateEcheance) {
        $this->date_echeance = $dateEcheance;

        return $this;
    }

    /**
     * Get date_echeance
     *
     * @return \DateTime 
     */
    public function getDateEcheance() {
        return $this->date_echeance;
    }

    /**
     * Set etat
     *
     * @param string $etat
     * @return LigneReglementFournisseur
     */
    public function setEtat($etat) {
        $this->etat = $etat;

        return $this;
    }

    /**
     * Get etat
     *
     * @return string 
     */
    public function getEtat() {
        return $this->etat;
    }

    /**
     * Set reglement
     *
     * @param Gds\AchatBundle\Entity\ReglementFournisseur $reglement
     * @return LigneReglementFournisseur
     */
    public function setReglement(\Gds\AchatBundle\Entity\ReglementFournisseur $reglement) {
        $this->reglement = $reglement;

        return $this;
    }

    /**
     * Get reglement
     *
     * @return Gds\AchatBundle\Entity\ReglementFournisseur 
     */
    public function getReglement() {
        return $this->reglement;
    }

    /**
     * Set numero_piece
     *
     * @param string $numeroPiece
     * @return LigneReglementFournisseur
     */
    public function setNumeroPiece($numeroPiece) {
        $this->numero_piece = $numeroPiece;

        return $this;
    }

    /**
     * Get numero_piece
     *
     * @return string 
     */
    public function getNumeroPiece() {
        return $this->numero_piece;
    }


    /**
     * Set bon_livraison
     *
     * @param \Gds\AchatBundle\Entity\BonLivraisonFournisseur $bonLivraison
     * @return LigneReglementFournisseur
     */
    public function setBonLivraison(\Gds\AchatBundle\Entity\BonLivraisonFournisseur $bonLivraison = null)
    {
        $this->bon_livraison = $bonLivraison;

        return $this;
    }

    /**
     * Get bon_livraison
     *
     * @return \Gds\AchatBundle\Entity\BonLivraisonFournisseur 
     */
    public function getBonLivraison()
    {
        return $this->bon_livraison;
    }

    /**
     * Set facture
     *
     * @param \Gds\AchatBundle\Entity\FactureFournisseur $facture
     * @return LigneReglementFournisseur
     */
    public function setFacture(\Gds\AchatBundle\Entity\FactureFournisseur $facture = null)
    {
        $this->facture = $facture;

        return $this;
    }

    /**
     * Get facture
     *
     * @return \Gds\AchatBundle\Entity\FactureFournisseur 
     */
    public function getFacture()
    {
        return $this->facture;
    }

    /**
     * Set compte_bancaire
     *
     * @param \Gds\AchatBundle\Entity\CompteBancaire $compteBancaire
     * @return LigneReglementFournisseur
     */
    public function setCompteBancaire(\Gds\AchatBundle\Entity\CompteBancaire $compteBancaire = null)
    {
        $this->compte_bancaire = $compteBancaire;

        return $this;
    }

    /**
     * Get compte_bancaire
     *
     * @return \Gds\AchatBundle\Entity\CompteBancaire 
     */
    public function getCompteBancaire()
    {
        return $this->compte_bancaire;
    }

    /**
     * Set type
     *
     * @param string $type
     * @return LigneReglementFournisseur
     */
    public function setType($type)
    {
        $this->type = $type;

        return $this;
    }

    /**
     * Get type
     *
     * @return string 
     */
    public function getType()
    {
        return $this->type;
    }
}
